block: Introduce a BPF-based I/O scheduler#689
block: Introduce a BPF-based I/O scheduler#689blktests-ci[bot] wants to merge 2 commits intolinus-master_basefrom
Conversation
|
Upstream branch: bbeb83d |
a5e341d to
c13734b
Compare
|
Upstream branch: 46b5132 |
0768360 to
a015ba3
Compare
c13734b to
ef67188
Compare
|
Upstream branch: 7df48e3 |
a015ba3 to
9cbec16
Compare
ef67188 to
4439509
Compare
|
Upstream branch: be762d8 |
9cbec16 to
83d6ebd
Compare
4439509 to
0bd4175
Compare
|
Upstream branch: cbfffcc |
83d6ebd to
ddd7193
Compare
0bd4175 to
c781e1e
Compare
|
Upstream branch: 7aaa804 |
ddd7193 to
2b1bcc3
Compare
c781e1e to
255b4bf
Compare
|
Upstream branch: d0c3bcd |
2b1bcc3 to
617bb4c
Compare
255b4bf to
3236861
Compare
|
Upstream branch: 9147566 |
617bb4c to
4b09514
Compare
ecbdbb4 to
480b162
Compare
29b6bc6 to
62bf673
Compare
931d9b0 to
78a4682
Compare
|
Upstream branch: 9a9c8ce |
62bf673 to
483c6de
Compare
78a4682 to
8f17195
Compare
|
Upstream branch: 028ef9c |
483c6de to
739af85
Compare
8f17195 to
6b4d829
Compare
|
Upstream branch: d60bc14 |
739af85 to
7b85b2b
Compare
6b4d829 to
ceec5ed
Compare
|
Upstream branch: b4e0758 |
7b85b2b to
823e381
Compare
ceec5ed to
3b54e52
Compare
|
Upstream branch: 6596a02 |
823e381 to
506fe10
Compare
3b54e52 to
6a0b974
Compare
|
Upstream branch: 507bd4b |
506fe10 to
8205943
Compare
6a0b974 to
59ca59b
Compare
|
Upstream branch: dd6c438 |
8205943 to
1e27de7
Compare
94f0438 to
857ada9
Compare
|
Upstream branch: dd6c438 |
Introduce IOSCHED_UFQ, a blk-mq elevator ("ufq: User-programmable
Flexible Queueing") whose policy is supplied by an eBPF program via
struct_ops (insert, dispatch, merge, finish, etc.).
When no eBPF program is attached, the UFQ I/O scheduler uses a simple,
per-ctx queueing policy (similar to none). After an eBPF program is
attached, the user-defined scheduling policy replaces UFQ’s built-in
queueing policy, while per-ctx queues remain available as a fallback
mechanism.
Signed-off-by: Kaitao Cheng <[email protected]>
Add ufq_iosched as a simple example for the UFQ block I/O scheduler, In the ufq_simple example, we implement the eBPF struct_ops hooks the kernel exposes so we can exercise and validate the behavior and stability of the kernel UFQ scheduling framework. The Makefile and directory layout are modeled after sched_ext. This mirrors the sched_ext examples pattern so developers can experiment with user-defined queueing policies on top of IOSCHED_UFQ. Signed-off-by: Kaitao Cheng <[email protected]>
1e27de7 to
fdc958e
Compare
|
At least one diff in series https://patchwork.kernel.org/project/linux-block/list/?series=1073523 irrelevant now for [{'archived': False, 'project': 241}] search patterns |
Pull request for series with
subject: block: Introduce a BPF-based I/O scheduler
version: 1
url: https://patchwork.kernel.org/project/linux-block/list/?series=1073523